﻿
using Xacml.Core;
using System;
using System.Xml;

namespace Xacml.Core.Policy
{
  public class ObligationElement : ObligationElementReadWrite
  {
    public override AttributeAssignmentCollectionReadWrite AttributeAssignment
    {
      get
      {
        return (AttributeAssignmentCollectionReadWrite) new AttributeAssignmentCollection(base.AttributeAssignment);
      }
      set
      {
        throw new NotSupportedException();
      }
    }

    public override Effect FulfillOn
    {
      set
      {
        throw new NotSupportedException();
      }
    }

    public override string ObligationId
    {
      set
      {
        throw new NotSupportedException();
      }
    }

    public ObligationElement(string obligationId, Effect fulfillOn, AttributeAssignmentCollectionReadWrite attributeAssignment)
      : base(obligationId, fulfillOn, attributeAssignment)
    {
    }

    public ObligationElement(XmlReader reader, XacmlVersion schemaVersion)
      : base(reader, schemaVersion)
    {
    }
  }
}
